package day_2022_12_to_3.year2023;

import java.util.HashMap;
import java.util.Map;

/**
 * @author haomin
 * @date 2023/03/16 15:26
 **/
public class Day3_16_Num2488 {
    class Solution {
        public int countSubarrays(int[] nums, int k) {
            int n = nums.length, f = 0, sum = 0, m = 0;
            Map<Integer,Integer> map = new HashMap<>();
            map.put(0,1);
            for(int i=0; i<n; i++){
                if(nums[i] == k){
                    f = i;
                    break;
                }
                sum += (nums[i] < k ? -1 : 1);
                map.put(sum,map.getOrDefault(sum,0)+1);
            }
            for(int i=f; i<n; i++){
                sum += (nums[i] < k ? -1 : 1);
                m += map.getOrDefault(sum-1,0);
                m += map.getOrDefault(sum-2,0);
            }
            return m;
        }
    }
}